package com.logistica.metropolitana.db.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;


/**
 * The persistent class for the ae_sitio database table.
 * 
 */
@Entity
@Table(name="ae_sitio")
@NamedQuery(name="AeSitio.findAll", query="SELECT a FROM AeSitio a")
public class AeSitio implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private Long gid;

	@Column(name="ancho_de_banda")
	private String anchoDeBanda;

	private String cai;

	private String calle;

	private String ciudad;

	private String colonia;

	private Integer cp;

	private String elaboro;

	@Column(name="en_func")
	private Boolean enFunc;

	@Column(name="entre_calles")
	private String entreCalles;

	private String estado;

	private String estatus;

	@Column(name="existe_disp")
	private Boolean existeDisp;

	@Temporal(TemporalType.DATE)
	private Date fecha;

	private String institucion;

	private BigDecimal latitud;

	private BigDecimal longitud;

	private String municipio;

	@Column(name="nombre_sitio")
	private String nombreSitio;

	@Column(name="num_ext")
	private String numExt;

	@Column(name="num_int")
	private String numInt;

	private String responsable;

	@Column(name="tipo_sitio")
	private String tipoSitio;
	
	private String telefono;
	
	private String licitacion;
	
	@Column(name="tipo_de_formato")
	private String tipoDeFormato;

	//bi-directional many-to-one association to AeEquInstalado
	@Fetch(FetchMode.SELECT)
	@OneToMany(mappedBy="aeSitio", fetch=FetchType.EAGER)
	private List<AeEquInstalado> aeEquInstalados;

	//bi-directional many-to-one association to AeImagene
	@Fetch(FetchMode.SELECT)
	@OneToMany(mappedBy="aeSitio", fetch=FetchType.EAGER)
	private List<AeImagene> aeImagenes;

	//bi-directional many-to-one association to AeConstatarSitio
	@OneToOne(fetch=FetchType.EAGER)
	@JoinColumn(name="id_constatar")
	private AeConstatarSitio aeConstatarSitio;

	//bi-directional many-to-one association to AePaiExterno
	@OneToOne(fetch=FetchType.EAGER)
	@JoinColumn(name="id_paie")
	private AePaiExterno aePaiExterno;

	//bi-directional many-to-one association to AePaiInterno
	@OneToOne(fetch=FetchType.EAGER)
	@JoinColumn(name="id_paii")
	private AePaiInterno aePaiInterno;

	//bi-directional many-to-one association to AePrueba
	@OneToOne(fetch=FetchType.EAGER)
	@JoinColumn(name="id_pruebas")
	private AePrueba aePrueba;

	//bi-directional many-to-one association to AeVisita
	@Fetch(FetchMode.SELECT)
	@OneToMany(mappedBy="aeSitio", fetch=FetchType.EAGER)
	private List<AeVisita> aeVisitas;

	public AeSitio() {
	}

	public Long getGid() {
		return this.gid;
	}

	public void setGid(Long gid) {
		this.gid = gid;
	}

	public String getAnchoDeBanda() {
		return this.anchoDeBanda;
	}

	public void setAnchoDeBanda(String anchoDeBanda) {
		this.anchoDeBanda = anchoDeBanda;
	}

	public String getCai() {
		return this.cai;
	}

	public void setCai(String cai) {
		this.cai = cai;
	}

	public String getCalle() {
		return this.calle;
	}

	public void setCalle(String calle) {
		this.calle = calle;
	}

	public String getCiudad() {
		return this.ciudad;
	}

	public void setCiudad(String ciudad) {
		this.ciudad = ciudad;
	}

	public String getColonia() {
		return this.colonia;
	}

	public void setColonia(String colonia) {
		this.colonia = colonia;
	}

	public Integer getCp() {
		return this.cp;
	}

	public void setCp(Integer cp) {
		this.cp = cp;
	}

	public String getElaboro() {
		return this.elaboro;
	}

	public void setElaboro(String elaboro) {
		this.elaboro = elaboro;
	}

	public Boolean getEnFunc() {
		return this.enFunc;
	}

	public void setEnFunc(Boolean enFunc) {
		this.enFunc = enFunc;
	}

	public String getEntreCalles() {
		return this.entreCalles;
	}

	public void setEntreCalles(String entreCalles) {
		this.entreCalles = entreCalles;
	}

	public String getEstado() {
		return this.estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public String getEstatus() {
		return this.estatus;
	}

	public void setEstatus(String estatus) {
		this.estatus = estatus;
	}

	public Boolean getExisteDisp() {
		return this.existeDisp;
	}

	public void setExisteDisp(Boolean existeDisp) {
		this.existeDisp = existeDisp;
	}

	public Date getFecha() {
		return this.fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	public String getInstitucion() {
		return this.institucion;
	}

	public void setInstitucion(String institucion) {
		this.institucion = institucion;
	}

	public BigDecimal getLatitud() {
		return this.latitud;
	}

	public void setLatitud(BigDecimal latitud) {
		this.latitud = latitud;
	}

	public BigDecimal getLongitud() {
		return this.longitud;
	}

	public void setLongitud(BigDecimal longitud) {
		this.longitud = longitud;
	}

	public String getMunicipio() {
		return this.municipio;
	}

	public void setMunicipio(String municipio) {
		this.municipio = municipio;
	}

	public String getNombreSitio() {
		return this.nombreSitio;
	}

	public void setNombreSitio(String nombreSitio) {
		this.nombreSitio = nombreSitio;
	}

	public String getNumExt() {
		return this.numExt;
	}

	public void setNumExt(String numExt) {
		this.numExt = numExt;
	}

	public String getNumInt() {
		return this.numInt;
	}

	public void setNumInt(String numInt) {
		this.numInt = numInt;
	}

	public String getResponsable() {
		return this.responsable;
	}

	public void setResponsable(String responsable) {
		this.responsable = responsable;
	}

	public String getTipoSitio() {
		return this.tipoSitio;
	}

	public void setTipoSitio(String tipoSitio) {
		this.tipoSitio = tipoSitio;
	}

	public List<AeEquInstalado> getAeEquInstalados() {
		return this.aeEquInstalados;
	}

	public void setAeEquInstalados(List<AeEquInstalado> aeEquInstalados) {
		this.aeEquInstalados = aeEquInstalados;
	}

	public AeEquInstalado addAeEquInstalado(AeEquInstalado aeEquInstalado) {
		getAeEquInstalados().add(aeEquInstalado);
		aeEquInstalado.setAeSitio(this);

		return aeEquInstalado;
	}

	public AeEquInstalado removeAeEquInstalado(AeEquInstalado aeEquInstalado) {
		getAeEquInstalados().remove(aeEquInstalado);
		aeEquInstalado.setAeSitio(null);

		return aeEquInstalado;
	}

	public List<AeImagene> getAeImagenes() {
		return this.aeImagenes;
	}

	public void setAeImagenes(List<AeImagene> aeImagenes) {
		this.aeImagenes = aeImagenes;
	}

	public AeImagene addAeImagene(AeImagene aeImagene) {
		getAeImagenes().add(aeImagene);
		aeImagene.setAeSitio(this);

		return aeImagene;
	}

	public AeImagene removeAeImagene(AeImagene aeImagene) {
		getAeImagenes().remove(aeImagene);
		aeImagene.setAeSitio(null);

		return aeImagene;
	}

	public AeConstatarSitio getAeConstatarSitio() {
		return this.aeConstatarSitio;
	}

	public void setAeConstatarSitio(AeConstatarSitio aeConstatarSitio) {
		this.aeConstatarSitio = aeConstatarSitio;
	}

	public AePaiExterno getAePaiExterno() {
		return this.aePaiExterno;
	}

	public void setAePaiExterno(AePaiExterno aePaiExterno) {
		this.aePaiExterno = aePaiExterno;
	}

	public AePaiInterno getAePaiInterno() {
		return this.aePaiInterno;
	}

	public void setAePaiInterno(AePaiInterno aePaiInterno) {
		this.aePaiInterno = aePaiInterno;
	}

	public AePrueba getAePrueba() {
		return this.aePrueba;
	}

	public void setAePrueba(AePrueba aePrueba) {
		this.aePrueba = aePrueba;
	}

	public List<AeVisita> getAeVisitas() {
		return this.aeVisitas;
	}

	public void setAeVisitas(List<AeVisita> aeVisitas) {
		this.aeVisitas = aeVisitas;
	}

	public AeVisita addAeVisita(AeVisita aeVisita) {
		getAeVisitas().add(aeVisita);
		aeVisita.setAeSitio(this);

		return aeVisita;
	}

	public AeVisita removeAeVisita(AeVisita aeVisita) {
		getAeVisitas().remove(aeVisita);
		aeVisita.setAeSitio(null);

		return aeVisita;
	}

	public String getTelefono() {
		return telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	public String getLicitacion() {
		return licitacion;
	}

	public void setLicitacion(String licitacion) {
		this.licitacion = licitacion;
	}

	public String getTipoDeFormato() {
		return tipoDeFormato;
	}

	public void setTipoDeFormato(String tipoDeFormato) {
		this.tipoDeFormato = tipoDeFormato;
	}

}